﻿using System.Xml.Linq;
using IcicleFramework.Components.Behaviors;

namespace IcicleFramework.GameServices
{
    public interface IBehaviorFactory : IService
    {
        /// <summary>
        /// Creates a new IBehavior using the information provided in the XElement.
        /// </summary>
        /// <param name="element">The XElement containing the information required for this IBehavior.</param>
        /// <returns>The requested IBehavior, or null if not IBehavior could be generated from the given XElement.</returns>
        IBehavior GenerateBehavior(XElement element);
    }
}
